package org.apogee.mil.client.services.trainee;

import java.util.ArrayList;
import java.util.List;

import org.apogee.mil.shared.Question;

import com.extjs.gxt.ui.client.data.BaseModel;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface TraineeServiceAsync {
	public void initialize(AsyncCallback<Boolean> initalized);
	
	public void getAvailableTests(int userId, AsyncCallback<ArrayList<BaseModel>> tests);
	
	public void getRecentScores(int userId, AsyncCallback<ArrayList<BaseModel>> tests);
	
	public void getTestVolumes(String test, AsyncCallback<ArrayList<BaseModel>> volumes);
	
	public void getQuestions(String test, int numQuestions, int volume, int reviewType, AsyncCallback<List<Question>> questions);
	
	public void addResults(int userid, String test, float score, AsyncCallback<Boolean> ok);
		
	public void close(AsyncCallback<Boolean> closed);
	
	public void getTrainer(int userId, AsyncCallback<String> trainer);
	
	public void addMessage(int to_user, int from_user, String message, AsyncCallback<Boolean> ok);
}
